package com.ruoyi.base;

/**
 * 代码执行顺序
 * 父类静态块->子类静态块（静态代码块只执行一次）
 * ->父类代码块->父类构造器->子类代码块->子类构造器
 */
public class CodeDoSort {
    public static void main(String[] args) {
        son a = new son();
        son b = new son();
    }
}

class father {
    public father() {
        System.out.println("父-构造函数");
    }

    {
        System.out.println("父-构造代码块");
    }

    static {
        System.out.println("父-静态代码块");
    }
}

class son extends father {
    public son() {
        System.out.println("子-构造函数");
    }

    {
        System.out.println("子-构造代码块");
    }

    static {
        System.out.println("子-静态代码块");
    }
}